package com.redoor.app.stake.basicdata.service;

import com.redoor.app.stake.basicdata.model.BaseEquipmentInfo;
import com.redoor.app.stake.basicdata.model.controllerModel.BaseEquipmentInfoActionBean;
import com.redoor.app.stake.basicdata.model.controllerModel.BaseEquipmentInfoCriteria;
import com.redoor.app.stake.basicdata.model.serviceModel.BaseEquipmentInfoServiceBean;
import com.redoornetwork.framework.mybatis.service.Service;
import com.yotouch.app.stake.model.Equipment;

import java.util.List;
import java.util.Map;

/**
 * Created by wangjunlei on 2018-03-12 17:30:28.
 */
public interface BaseEquipmentInfoService extends Service<BaseEquipmentInfo, String> {

    public BaseEquipmentInfo getEquipmentByParams(BaseEquipmentInfoCriteria criteria);
    /**
     * 主列表查询
     * @Author zhangYiHang
     * @Date 2018/3/21 18:17
     * @Param
     */
    List<BaseEquipmentInfoServiceBean> qryEquipmentInfo(BaseEquipmentInfoCriteria criteria);
    /**
     * 新增设备(桩)型号
     * @Author zhangYiHang
     * @Date 2018/3/21 20:35
     * @Param
     */
    int insertEquipmentInfo(BaseEquipmentInfoActionBean baseEquipmentInfoActionBean);
    /**
     * 修改设备(桩)型号
     * @Author zhangYiHang
     * @Date 2018/3/21 20:35
     * @Param
     */
    int updateEquipmentInfoByUuid(BaseEquipmentInfoActionBean baseEquipmentInfoActionBean);
    /**
     * 状态删除数据 如果返回为负数
     * @Author zhangYiHang
     * @Date 2018/3/21 21:12
     * @Param
     */
    int updateStatus(String id);
    /**
     * 列表展示总数据
     * @Author zhangYiHang
     * @Date 2018/3/22 9:35
     * @Param
     */
    Long qryEquipmentInfoTotal(BaseEquipmentInfoCriteria criteria);
    /**
     * 根据名称查询对象是否存在
     * @Author zhangYiHang
     * @Date 2018/3/22 21:44
     * @Param
     */
    Integer qryEquipmentInfoCountByName(String name, String vendorUuid);
    /**
     * 根据主键查询对象
     * @Author zhangYiHang
     * @Date 2018/3/26 19:03
     * @Param
     */
    BaseEquipmentInfoServiceBean qryEquipmentInfoByUuid(String id);
    /**
     * HSF接口调用(前置),根据厂商主键查询设备型号
     * @Author zhangYiHang
     * @Date 2018/3/27 14:13
     * @Param
     */
    List<Equipment> qryEquipmentInfoToHSF(Map<String, Object> map);
    /**
     * 根据厂商uuid查询设备型号基本信息
     * @Author zhangYiHang
     * @Date 2018/4/18 11:46
     * @Param
     */
    List<BaseEquipmentInfo> qryEquipmentInfoByVendorUuid(String vendorUuid);
}
